package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 求职人员类别枚举
 */
@AllArgsConstructor
@Getter
public enum JobSeekerCategoryEnum {
    // 应届高校毕业生
    GRADUATE("应届高校毕业生", "01", -1),
    // 下岗职工
    DISPLACED_WORKERS("下岗职工", "02", -1),
    // 退伍军人
    VETERANS("退伍军人", "03", -1),
    // 新成长失业青年
    YOUTH_UNEMPLOYMENT("新成长失业青年", "05", -1),
    // 就业转失业人员
    EMPLOYMENT_TO_UNEMPLOYMENT("就业转失业人员", "06", -1),
    // 其他失业人员
    OTHER_UNEMPLOYED("其他失业人员", "07", -1),
    // 在业人员
    EMPLOYED("在业人员", "08", -1),
    // 退休人员
    RETIRED("退休人员", "09", -1),
    // 新成长劳动者
    NEW_LABOR("新成长劳动者", "1", -1),
    // 在学人员
    STUDENT("在学人员", "10", -1),
    // 出国人员
    OVERSEAS("出国人员", "10", -1),
    // 本辖区农村人员
    RURAL_PEOPLE("本辖区农村人员", "11", -1),
    // 出国归来人员
    RETURNED_OVERSEAS("出国归来人员", "11", -1),
    // 外埠人员
    OUTSIDE_AREA("外埠人员", "12", -1),
    // 外出就业
    OUT_EMPLOYMENT("外出就业", "12", -1),
    // 建档立卡贫困户
    POOR_HOUSEHOLDS("建档立卡贫困户", "13", -1),
    // 军转干部
    MILITARY_TRANSFERRED("军转干部", "13", -1),
    // 易地扶贫搬迁人员
    POVERTY_RELOCATION("易地扶贫搬迁人员", "14", -1),
    // 在校人员
    SCHOOL_STUDENTS("在校人员", "14", -1),
    // 退役士兵
    RETIRED_SOLDIER("退役士兵", "15", -1),
    // 复退军人
    RETURNED_VETERAN("复退军人", "15", -1),
    // 复原干部
    RESUMED_CADRE("复原干部", "16", -1),
    // 军人家属
    MILITARY_FAMILY("军人家属", "16", -1),
    // 两后生
    BACKWARD_YOUTH("两后生", "17", -1),
    // 农村劳动力
    RURAL_LABOR("农村劳动力", "17", -1),
    // 国家干部
    NATIONAL_CADRE("国家干部", "18", -1),
    // 失地农民
    LANDLESS_FARMERS("失地农民", "19", -1),
    // 就业转失业人员
    EMPLOYMENT_TO_UNEMPLOYMENT_ALT("就业转失业人员", "2", -1),
    // 事业单位改制失业人员
    STATE_OWNED_RESTRUCTURING_UNEMPLOYED("事业单位改制失业人员", "20", -1),
    // 外来劳动力
    MIGRANT_LABOR("外来劳动力", "21", -1),
    // 残疾人
    DISABLED("残疾人", "22", -1),
    // 就业困难人员
    EMPLOYMENT_DIFFICULTY("就业困难人员", "23", -1),
    // 大中专高校毕业生
    UNIVERSITY_GRADUATES("大中专高校毕业生", "3", -1),
    // 在业人员
    ACTIVE_EMPLOYED("在业人员", "5", -1),
    // 灵活就业
    FLEXIBLE_EMPLOYMENT("灵活就业", "6", -1),
    // 自主创业
    SELF_EMPLOYMENT("自主创业", "7", -1),
    // 协保人员
    COORDINATED_EMPLOYEES("协保人员", "8", -1),
    // 派遣就业
    DISPATCHED_EMPLOYMENT("派遣就业", "9", -1),
    // 其他
    OTHER("其他", "99", -1),
    // 其他人员
    OTHER_PEOPLE("其他人员", "99", -1);

    private final String desc;
    private final String code;
    private final int bizCode;

    /**
     * 根据 bizCode 获取 code
     *
     * @param bizCode bizCode
     * @return code
     */
    public static String getCodeByBizCode(int bizCode) {
        for (JobSeekerCategoryEnum category : values()) {
            if (category.getBizCode() == bizCode) {
                return category.getCode();
            }
        }
        throw new RuntimeException("bizCode 不存在");
    }

    public static void main(String[] args) {
        System.out.println(JobSeekerCategoryEnum.getCodeByBizCode(-1)); // Test the method
    }
}
